fix monitoring bugs and enhance feature completeness#178
Closed
fix monitoring bugs and enhance feature completeness#178
Conversation
…y logic for pipelines
…ing-and-enrichment-pipelines Add log pipelines feature with CRUD, API, and frontend support
- HTTP/TCP/heartbeat monitor types with configurable intervals - BullMQ-free polling: setInterval(30s) in worker.ts - TimescaleDB hypertable for monitor_results + continuous aggregate for uptime - State machine: consecutive failure/success tracking, incident auto-open/resolve - Atomic incident creation guard (WHERE incident_id IS NULL) to prevent duplicates - Project slugs: auto-generated on creation, unique per org - Public status page at /status/[projectSlug] (unauthenticated) - Heartbeat endpoint with both API key and session auth - Security: org membership check on heartbeat session path - ReDoS mitigation: body/pattern length limits in regex assertion - Monitor IDs omitted from public API to prevent UUID enumeration
- fix slug collision in public status page (filter by status_page_public) - wrap createMonitor in transaction (monitor + status inserts) - wire HttpConfig through DB/API/checker (was dead code) - add per-monitor severity (was hardcoded to high) - add status_page_public to projects with toggle endpoint - fix $derived.by in detail page, add refresh + copy buttons - fix default failureThreshold (3 -> 2), add client-side validation - type mapMonitor properly, optimize org membership check - eliminate redundant DB read in processCheckResult - add monitoring table cleanup to test setup - add target validation on monitor update
10 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
status_page_publicflagcreateMonitorin a DB transaction to prevent orphaned monitorsHttpConfig(method, expectedStatus, headers, bodyAssertion) through DB → API → checker (was dead code)'high'for incidentsstatus_page_publicflag to projects with API toggle endpoint$derived.by()reactivity bug on monitor detail pagemapMonitorproperly (wasany), optimize org membership check to single queryprocessCheckResultTest plan
statusPagePublicon a project and verify public status page loads